home *** CD-ROM | disk | FTP | other *** search
/ Internet Surfer: Getting Started / Internet Surfer - Getting Started (Wayzata Technology)(7231)(1995).bin / pc / textfile / mac_faqs / perl_faq / diff next >
Internet Message Format  |  1995-01-30  |  11KB

  1. Xref: bloom-picayune.mit.edu comp.lang.perl:14080 news.answers:4269
  2. Newsgroups: comp.lang.perl,news.answers
  3. Path: bloom-picayune.mit.edu!enterpoop.mit.edu!usc!wupost!news.utdallas.edu!convex!tchrist
  4. From: Tom Christiansen <tchrist@convex.COM>
  5. Subject: comp.lang.perl FAQ diffs
  6. Originator: tchrist@pixel.convex.com
  7. Sender: usenet@news.eng.convex.com (news access account)
  8. Message-ID: <1992Nov30.131631.11693@news.eng.convex.com>
  9. Approved: news-answers-request@MIT.Edu
  10. Date: Mon, 30 Nov 1992 13:16:31 GMT
  11. Expires: Mon, 4 Jan 1993 12:00:00 GMT
  12. Reply-To: tchrist@convex.COM (Tom Christiansen)
  13. References: <1992Nov30.124619.8579@news.eng.convex.com>
  14. Nntp-Posting-Host: pixel.convex.com
  15. Organization: Convex Computer Corporation, Colorado Springs, CO
  16. Followup-To: comp.lang.perl
  17. X-Disclaimer: This message was written by a user at CONVEX Computer
  18.               Corp. The opinions expressed are those of the user and
  19.               not necessarily those of CONVEX.
  20. Lines: 292
  21.  
  22. Here are the diffs for this month's FAQ.  We have three new
  23. questions, plus some typos fixes and address corrections.
  24.  
  25. --tom
  26.  
  27. 29c29
  28. < Special thanks to Larry Wall for initially reviewing this list for
  29. ---
  30. > Special thanks to Larry Wall for periodically reviewing this list for
  31. 32d31
  32. 60a60
  33. > 1.29) Is there a pretty-printer for Perl?
  34. 95a96,97
  35. > 2.35) How can I set up a footer format to be used with write()?
  36. > 2.36) Why does my Perl program keep growing in size?
  37. 98d99
  38. 184c185
  39. <     archive.cs.ruu.nl        131.211.80.5  (Europe)
  40. ---
  41. >     ftp.cs.ruu.nl            131.211.80.17  (Europe)
  42. 290c291
  43. <     You should definitely read the USENET comp.lang.perl newsgrouor
  44. ---
  45. >     You should definitely read the USENET comp.lang.perl newsgroup or
  46. 318,321c319
  47. <     North America and 1-707-829-0515.  Autographed copies are available
  48. <     from TECHbooks by calling 1-503-646-8257 or mailing info@techbook.com.  
  49. <     Cost is ~30$US for the regular version, 40$US for the autographed one.
  50. <     The book's ISBN is 0-937175-64-1.
  51. ---
  52. >     North America and 1-707-829-0515.  The book's ISBN is 0-937175-64-1.
  53. 322a321,324
  54. >     Autographed copies are *NO LONGER* available from TECHbooks --
  55. >     you'll have to nab the authors in person if you want one.  Larry
  56. >     routinely carries around a camel stamp for just such an occasion.
  57. 333c335,336
  58. <     Volume 2 Number 4.
  59. ---
  60. >     Volume 2 Number 4.  The newest (Dec 92) Computer Language magazine
  61. >     is also alleged to contain a cover article on Perl.
  62. 335c338
  63. <     The USENIX LISA (Large Installations Systems Adminstration) Conference
  64. ---
  65. >     The USENIX LISA (Large Installations Systems Administration) Conference
  66. 339c342
  67. <     for futher information.
  68. ---
  69. >     for further information.
  70. 345c348
  71. <     tut.cis.ohio-state.edu in the pub/perl/scripts/ subdirectory.
  72. ---
  73. >     archive.cis.ohio-state.edu in the pub/perl/scripts/ subdirectory.
  74. 365c368
  75. <     archive.cs.ruu.nl [131.211.80.5], file /pub/DOC/perlref-4.035.tar.Z.
  76. ---
  77. >     ftp.cs.ruu.nl [131.211.80.17], file /pub/DOC/perlref-4.035.tar.Z.
  78. 423,425c426,428
  79. <     the host betwixt.cs.caltech.edu (131.215.128.4) in the directory  
  80. <     /pub/comp.lang.perl.  They are also to uunet in
  81. <     /languages/perl/comp.lang.perl .  It contains these things:
  82. ---
  83. >     the host ftp.cs.caltech.edu (131.215.128.204) in the directory  
  84. >     /pub/comp.lang.perl.  The file is comp.lang.perl.tar.Z; this file
  85. >     was last modified on February 15, 1992, and is 8.9 megabytes long.
  86. 427,430d429
  87. <     comp.lang.perl.tar.Z  -- the 5M tarchive in MH/news format
  88. <     archives/             -- the unpacked 5M tarchive
  89. <     unviewed/             -- new comp.lang.perl messages 
  90. 458c457
  91. <     Liam Quin's excellent lqtext system, available from ftp.toronto.edu
  92. ---
  93. >     Liam Quin's excellent lqtext system, available from ftp.cs.toronto.edu
  94. 462c461,462
  95. <     these days, but I haven't used them.
  96. ---
  97. >     these days, but I haven't used them.  Any information on these would
  98. >     be appreciated.
  99. 480,481c480,481
  100. <     ftp to rascal.ics.utexas.edu from the file
  101. <     ~ftp/mac/programming/Perl_402_MPW_CPT_bin .
  102. ---
  103. >     ftp to wuarchive.wustl.edu [128.252.135.4] from the file
  104. >     /mirrors2/rascal.ics.utexas.edu/programming/Perl_402_MPW_CPT_bin .
  105. 482a483,485
  106. >     You can also get it from Host gatekeeper.dec.com [16.1.0.2]
  107. >     in /.9/plan/perl/macperl/Perl_402_MPW_CPT_bin .
  108. 484c487
  109. <     be considerate of RASCAL's users during CDT working hours.
  110. ---
  111. >     be considerate of the archive sites' users during CDT working hours.
  112. 496a500,517
  113. >     Here's more, from Timothy Murphy <tim@maths.tcd.ie >
  114. >     I ported perl to the Mac, using Think C, a while ago.  I've
  115. >     used it quite a lot since without problems.
  116. >     It is available from ftp.maths.tcd.ie in pub/Mac/perl.hqx .
  117. >     The source (as diffs from the standard source) is in the
  118. >     subdirectory pub/Mac/perl-4.035 .
  119. >     A Mac version of patch is also available in pub/Mac/patch.hqx
  120. >     with source in pub/Mac/patch-2.0 .  Various other Mac ports of
  121. >     GNU programs can be found in the same place.
  122. >     They all use a small "ThinkCPosix" library containing various
  123. >     Unix-like functions, which again can be found in the same
  124. >     place.
  125. 531,534c552,555
  126. <     <buzz@toxicavenger.bear.com>, to create a higher level interface
  127. <     (DBperl) that will allow you to write your queries in a
  128. <     database-independent fashion.  Meanwhile, here are the authors of the
  129. <     various extensions:
  130. ---
  131. >     <buzz@bear.com>, to create a higher level interface (DBperl) that
  132. >     will allow you to write your queries in a database-independent
  133. >     fashion.  If you're interested, send mail to
  134. >     <perldb-interest-request@vix.com> about it.
  135. 535a557,558
  136. >     Meanwhile, here are the authors of the various extensions:
  137. 539c562
  138. <     Interperl       Interbase       Buzz Moschetti (buzz@fsrg.bear.com)
  139. ---
  140. >     Interperl       Interbase       Buzz Moschetti (buzz@bear.com)
  141. 658c681
  142. <     archive.cs.ruu.nl [131.211.80.5] via anonymous ftp in the directory
  143. ---
  144. >     ftp.cs.ruu.nl [131.211.80.17] via anonymous ftp. in the directory
  145. 691c714
  146. <     speak to this STDIN server.
  147. ---
  148. >     speak to this STDWIN server.
  149. 816,822c839,840
  150. <     At this time, the known list includes at least the following: Convex,
  151. <     Netlabs, BSDI, Integraph, Dell, and Kubota Pacific, although the
  152. <     latter is in /usr/contrib only.  Many other companies use Perl
  153. <     internally for purposes of tools development, systems administration,
  154. <     installation scripts, and test suites.  Rumor has it that the large
  155. <     workstation vendors (the TLA set) are seriously looking into shipping
  156. <     Perl with their standard systems "soon".
  157. ---
  158. >     At this time, the known list of companies that ship Perl includes at
  159. >     least the following: 
  160. 823a842,855
  161. >     BSDI
  162. >     Comdisco Systems
  163. >     CONVEX Computer Corporation
  164. >     Dell
  165. >     Integraph
  166. >     Kubota Pacific (/usr/contrib)
  167. >     Netlabs
  168. >     Many other companies use Perl internally for purposes of tools
  169. >     development, systems administration, installation scripts, and test
  170. >     suites.  Rumor has it that the large workstation vendors (the TLA set)
  171. >     are seriously looking into shipping Perl with their standard systems
  172. >     "soon".
  173. 828a861
  174. 843c876
  175. <     of the earlier ones are on convex.com in /pib/perl/info/japh.
  176. ---
  177. >     of the earlier ones are on convex.com in /pub/perl/info/japh.
  178. 849a883
  179. > 1.29) Is there a pretty-printer for Perl?
  180. 850a885,887
  181. >     That depends on what you mean.  If you want something 
  182. >     that works like vgrind on Perl programs, then the answer
  183. >     is "yes, nearly".  Here's a vgrind entry for perl:
  184. 851a889,902
  185. >     PERL|perl|Perl:\
  186. >         :pb=(^\d?sub\d\p\d?|\{):\
  187. >         :bb={:be=}:cb=#:ce=$:sb=":se=\e":lb=':\
  188. >         :le=\e':tl:\
  189. >         :id=_:\
  190. >         :kw=\
  191. >         if for foreach unless until while continue else elsif \
  192. >         do eval require \
  193. >         die exit \
  194. >         defined delete reset \
  195. >         goto last redo next dump \
  196. >         local undef return  \
  197. >         write format  \
  198. >         sub package
  199. 852a904,913
  200. >     It doesn't actually do everything right; in particular, 
  201. >     things like $#, $', s#/foo##, and $foo'bar all confuse it.
  202. >     If what you mean is whether there is a program that will
  203. >     reformat the program much as indent(1) will do for C, then
  204. >     the answer is no.  The complex feedback between the scanner
  205. >     and the parser (as in the things that confuse vgrind) make
  206. >     it challenging to write at best to write a stand-alone C parser.
  207. 999c1060
  208. <     reutrns 5 times whether printing (2+4) succeeded, and 
  209. ---
  210. >     returns 5 times whether printing (2+4) succeeded, and 
  211. 1015c1076
  212. <     properly.  Recasting your code to use them can help alot.
  213. ---
  214. >     properly.  Recasting your code to use them can help a lot.
  215. 1098c1159
  216. <         while () { 
  217. ---
  218. >         while (<>) { 
  219. 1158c1219
  220. <     context, an that the <FILE> syntax in an array context will read all the
  221. ---
  222. >     context, and that the <FILE> syntax in an array context will read all the
  223. 1192c1253
  224. <         system "stty", 'cbreak',
  225. ---
  226. >         system "stty", '-icanon',
  227. 1676c1737
  228. <     foreach $key ( sort { $x{$b} <=> $a{$a} } keys %ary ) {
  229. ---
  230. >     foreach $key ( sort { $ary{$b} <=> $ary{$a} } keys %ary ) {
  231. 1871c1932
  232. <     associative array in an analagous fashion.  That's because %foobar in
  233. ---
  234. >     associative array in an analogous fashion.  That's because %foobar in
  235. 1988c2049
  236. <     you're still apt to be bogged down by exec()s.  You have to analize
  237. ---
  238. >     you're still apt to be bogged down by exec()s.  You have to analyze
  239. 2099c2160
  240. <     plum and pcops.  Since perl5 is prety much a total rewrite, we can
  241. ---
  242. >     plum and pcops.  Since perl5 is pretty much a total rewrite, we can
  243. 2101c2162
  244. <     problem before then, a signifcant portion of the perl world would
  245. ---
  246. >     problem before then, a significant portion of the Perl world would
  247. 2102a2164,2206
  248. > 2.35) How can I set up a footer format to be used with write()?
  249. >     While the $^ variable contains the name of the current header format,
  250. >     there is no corresponding mechanism to automatically do the same thing
  251. >     for a footer.  Not knowing how big a format is going to be until you
  252. >     evaluate it is one of the major problems.
  253. >     If you have a fixed-size footer, you can get footers by checking for
  254. >     line left on page ($-) before each write, and printing the footer
  255. >     yourself if necessary.
  256. >     Another strategy is to open a pipe to yourself, using open(KID, "|-")
  257. >     and always write()ing to the KID, who then postprocesses its STDIN to
  258. >     rearrange headers and footers however you like.  Not very convenient,
  259. >     but doable.
  260. > 2.36) Why does my Perl program keep growing in size?
  261. >     While there may be a real memory leak in the Perl source code or even
  262. >     whichever malloc() you're using, common causes are incomplete eval()s
  263. >     or local()s in loops.
  264. >     An eval() which terminates in error due to a failed parsing 
  265. >     will leave a bit of memory unusable.
  266. >     A local() inside a loop:
  267. >     for (1..100) {
  268. >         local(@array);
  269. >     } 
  270. >     will build up 100 versions of @array before the loop is done.
  271. >     The work-around is:
  272. >     local(@array);
  273. >     for (1..100) {
  274. >         undef @array;
  275. >     } 
  276. >     Larry reports that this behavior is fixed for perl5.
  277. -- 
  278.     Tom Christiansen      tchrist@convex.com      convex!tchrist
  279.  
  280.     signal(i, SIG_DFL); /* crunch, crunch, crunch */
  281.         --Larry Wall in doarg.c from the perl source code
  282.